import Editor from "../editor"

interface IOperation {
  type: string
  apply(editor: Editor): void
  reverse(editor: Editor): void
}

export abstract class Operation implements IOperation {
  public abstract type: string
  abstract apply(editor: Editor): void
  abstract reverse(editor: Editor): Operation[]
}

export default Operation
